1. Field of the Invention
The present invention relates to an electronic payment system for realizing payments on computers electronically, which is suitable for a check acceptance system at a store for selling commercial goods in exchange for an electronic check issued by a consumer, or a check acceptance system at a bank for transferring from a consumer's account to a store's account according to an electronic check issued by a consumer.
2. Description of the Background Art
An electronic check system is a conventionally proposed scheme for realizing payments on computers electronically, which is described in Kevin O'Toole: "The Internet Billing Server: Transaction Protocol Alternatives", Carnegie Mellon University Information Networking Institute, Technical Report INI TR 1994-1, April 1994; and B. Clifford Neuman: "Proxy-Based Authorization and Accounting for Distributed Systems", Proceedings of the 13th International Conference on Distributed Computing Systems, May 1993, pp. 283-291, for example.
In the electronic check system, a person responsible for payment (referred hereafter as a consumer) creates a message (referred hereafter as a check) which plays a role of a check on a computer, and sends it to a computer of a person intended to receive the payment (referred hereafter as a store) via a computer network. When the store transmits the received check to a computer of a bank (not necessarily limited to an ordinary bank and including any organization for managing transactions such as a credit card company), the bank transfers a specified amount from the consumer's account to the store's account according to the check, so as to complete the payment.
Besides this electronic check system, there are other schemes for realizing payments on computers electronically such as an on-line transfer system and a prepaid card system, but the electronic check system has the following advantages in comparison with these other schemes.
First, in the on-line transfer system, each sub-system constituting the system is always connected via a network with a host computer at a bank which provides centralized management of the electronic payments, and requests the transfer by notifying a content of payment to the host computer as soon as each payment occurs. For this reason, the on-line transfer system involves a high communication cost, and a heavy processing load on the host computer. As a consequence, a cost required for each transaction is high and it is inconvenient for a payment of a small amount. In contrast, in the electronic check system, it is possible to adopt an off-line scheme in which payments are accumulated to some level and then transmitted to the host computer collectively, so that there is no need for each sub-system constituting the system to be always connected with the host computer. For this reason, a number of communications can be reduced and it is convenient for a payment of a small amount as well. Moreover, each sub-system is operable even under the off-line environment not connected to a network all the times.
On the other hand, in the prepaid card system, the user carries a card recording a balance of an amount deposited in a bank in advance, and each payment is made by subtracting an amount of each payment from the recorded balance at a time of each payment. This prepaid card system has an advantage in that the payment can be made without requiring a connection to the host computer each time, just as in the electronic check system. However, this prepaid card system is associated with a problem in that, when the user's card is tampered by means of hardware to alter the recorded balance illegally, it is difficult to detect a person who committed the illegal act, and this could possibly lead to a failure of the entire system. In addition, this system is not very convenient for the user in that the card will be invalidated when the recorded balance becomes 0 and it requires a connection to the host computer in order to validate the card again. In contrast, in the electronic check system, the user who issued an illegal check can be identified from an identifier of the user attached to each check, so that the illegal user can be detected and a failure of the entire system can be prevented by expelling the detected illegal user from the system.
As should be apparent from the above, the electronic check system is superior in terms of the transaction cost, the off-line performance, and the security, and considered as a prospective candidate for an electronic payment system to be utilized for the commercial transaction on a computer network targeting general consumers, which is attracting much attention recently.
A check used in this electronic check system usually contains a check identifier (ID) for uniquely identifying each check, in addition to an amount of payment. Moreover, it is common to assign the check identifier in a form containing an identifier of the consumer and an identifier of the store, in order to prevent conflicts among identifiers.
A check is provided in a form capable of authenticating that it is created by a particular consumer by means of the digital signature (see Whitfield Diffie and Martin E. Hellman: "New Directions in Cryptography", IEEE Transactions on Information Theory, Vol. IT-22, No. 6, pp. 644-654, November 1976, for example). Consequently, a person other than that particular consumer can read the content of the check by decrypting it, but cannot create a new check as if it is created by that particular consumer in an attempt to receive the payment illegally.
However, in this electronic check system, it is still possible to make an illegal copy of the check, and for this reason, the possibilities for the following two types of illegality cannot be prevented.
First, the store can commit the illegal act called "double charge". This is an illegal act in which the store transmits the check received from the consumer to the bank more than once, so as to obtain an amount greater than an amount to be actually paid by receiving the same payment a number of times.
On the other hand, the consumer can commit the illegal act called "double issue". This is an illegal act in which the consumer issues the same check more than once. Normally, the checks have identifiers which are mutually different from each other, but this identifier is to be assigned by the consumer. Consequently, it is possible for the consumer to issue a check for a certain payment using the same identifier as that already used for another payment, and gives these checks with the identical identifier to the respective stores. This "double issue" by itself may not cause any trouble as long as the bank makes the transfers among the accounts as usual by regarding these checks with the identical identifier as different checks. However, from the bank's point of view, the "double charge" and the "double issue" are indistinguishable. Consequently, the consumer can make the "double issue" and then claim that it is the "double charge" by the store, so as to pay only an amount less than an amount to be actually paid.
In order to prevent this "double issue", it is possible for the store to record the identifiers of all the checks accepted in past and refuse to accept a check issued by a consumer by judging it as the "double issue" when this check uses the same identifier as that already used at that store.
In addition, assuming that the "double issue" is prevented in this manner, it is also possible to prevent the "double charge" similarly. Namely, it is possible for the bank to record the identifiers of all the checks accepted in past and refuse to accept a check transmitted from a store by judging it as the "double charge" when this check uses the same identifier as that already used at that bank (on an assumption that the "double issue" is already prevented and therefore cannot occur).
However, although it is possible to prevent the "double issue" and the "double charge" in this manner in principle, in order to be able to detect the "double issue" and the "double charge" without a failure, it is necessary to preserve records of all the checks used in past. Namely, in order to detect the "double issue" and the "double charge", it is necessary for the store and the bank to preserve an unlimited number of records of the checks, and these records can be enormously voluminous for the store and the bank which have a large number of customers. Therefore, apart from a need for a very large capacity memory device, a processing load required for searching out a particular identifier from this very large capacity memory device would also become appreciable.